#ifndef COMMON_H
#define COMMON_H
#include <string>
#include <list>
#include <map>
using std::wstring;
using std::list;
using std::map;
// Curently client info
struct ExtUserInfo
{
	wstring m_Name;
	wstring m_age;
	wstring m_Email;
	wstring m_Gender;
	wstring m_Location;
	wstring m_phone;
	void Clear(void)
	{
		m_Name.clear();
		m_age.clear();
		m_Gender.clear();
		m_Location.clear();
		m_phone.clear();
		m_Email.clear();
	}
};
struct UserInfo
{
	wstring m_UserName;
	wstring m_Email;
	wstring m_UID;
	struct ExtUserInfo ExtInfo;
	
	void ClearUserInfo(void)
	{
		m_UID.clear();
		m_Email.clear();
		m_UserName.clear();
		ExtInfo.Clear();
	}
};
typedef struct NeedItem
{
	wstring m_UID;
	wstring m_MID;
	wstring m_Time;
	wstring m_Text;
}NeedItem;
typedef struct ProvideItem
{
	wstring m_UID;
	wstring m_MID;
	wstring m_Time;
	wstring m_Text;
}ProvideItem;
typedef struct FriendItem 
{
	wstring m_UID;
	wstring m_Name;
	ExtUserInfo m_FriendInfo;
	list<NeedItem> m_Needs;
	list<ProvideItem> m_Provides;
}FriendItem;
typedef map<const unsigned long, FriendItem> FriendListType;
#endif
